package com.eorchis.module.reminduserlink.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.eorchis.core.basedao.dao.IDaoSupport;
import com.eorchis.core.basedao.entity.IBaseEntity;
import com.eorchis.core.service.impl.AbstractBaseService;
import com.eorchis.module.reminduserlink.dao.IRemindUserLinkDao;
import com.eorchis.module.reminduserlink.domain.RemindUserBean;
import com.eorchis.module.reminduserlink.domain.RemindUserLink;
import com.eorchis.module.reminduserlink.service.IRemindUserLinkService;
import com.eorchis.module.reminduserlink.ui.commond.RemindUserLinkQueryCommond;
import com.eorchis.module.reminduserlink.ui.commond.RemindUserLinkValidCommond;

/**
 * Title: RemindUserLinkServiceImpl<br>
 * Description: 提醒用户关联表管理业务接口实现<br>
 * Company: GoldGov<br>
 * Copyright @ 2012 GoldGov .All rights reserved.<br>
 * @author RongSL
 * @createDate 2016-05-06
 * @version $Revision$
 */
// 声明本类为Server实现类，声明bean名称
@Service(value = "com.eorchis.module.reminduserlink.service.impl.RemindUserLinkServiceImpl")
public class RemindUserLinkServiceImpl extends AbstractBaseService implements IRemindUserLinkService {

	@Resource(name = "com.eorchis.module.reminduserlink.dao.impl.RemindUserLinkDaoImpl")
	private IRemindUserLinkDao remindUserLinkDao;

	@Override
	public IDaoSupport getDaoSupport() {
		return remindUserLinkDao;
	}

	@Override
	@SuppressWarnings("unchecked")
	public RemindUserLinkValidCommond toCommond(IBaseEntity entity) {
		return new RemindUserLinkValidCommond((RemindUserLink)entity);
	}

	/**
	 * 查询提醒列表
	 * @Date 2016-06-12
	 * @author RongSL
	 * @return List<RemindUserLink>
	 * @param RemindUserLinkQueryCommond
	 * */
	@Override
	public List<RemindUserBean> findRemindUserList(RemindUserLinkQueryCommond commond){
		return remindUserLinkDao.findRemindUserList(commond);
	}
	
	/**
	 * 删除提醒
	 * @Date 2016-06-13
	 * @author RongSL
	 * */
	@Override
	public void deleteRemindUserLink(RemindUserLinkQueryCommond commond) throws Exception{
		//删除提醒关联
		remindUserLinkDao.deleteRemindUserLink(commond);
	}
	
	/**
	 * 查询未读提醒总数
	 * @Date 2016-06-24
	 * @author RongSL
	 * @return Integer
	 * @param RemindUserLinkQueryCommond
	 * */
	@Override
	public String[] findRemindUserNoReadCount(RemindUserLinkValidCommond commond) throws Exception {
		return remindUserLinkDao.findRemindUserNoReadCount(commond);
	}
	
	/**
	 * 判断是否可以发送提醒
	 * @Date 2016-06-29
	 * @author RongSL
	 * */
	@Override
	public boolean seePermitState (String... par){
		return remindUserLinkDao.seePermitState(par);
	}
	
	/**
	 * 更新是否可以发送状态
	 * @Date 2016-06-29
	 * @author RongSL
	 * */
	@Override
	public void updateSendRemindState (String... par){
		remindUserLinkDao.updateSendRemindState(par);
	}
	
	/**
	 * 将提醒更新为不可发送状态
	 * @Date 2016-06-29
	 * @author RongSL
	 * */
	@Override
	public void updateSendRemindStateNo(String... par){
		remindUserLinkDao.updateSendRemindStateNo(par);
	}
}
